Support/Fix issues 15, 16, and 17 #18
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Release v0.1.10: Ray Distributed Processing, Incremental Caching, and Critical Bug Fixes
This major release introduces Ray-based distributed processing for significant performance improvements, implements intelligent incremental caching with SHA256-based change detection, adds single-file analysis capabilities, and fixes critical nested function detection bugs. The release also enhances compatibility by expanding Python version support from 3.10+ to 3.9+ and provides more robust dependency management.
Motivation and Context
Performance and Scalability Issues Addressed:
Critical Bug Fixes:
main.__init__
instead ofmain.outer_function.NestedClass.__init__
)Compatibility and Stability:
How Has This Been Tested?
Comprehensive Test Coverage:
test_cli_call_symbol_table_with_json
validates--ray
flag functionality with xarray project fixturetest_single_file
validates--file-name
flag with nested function test fixturessingle_functionalities__stuff_nested_in_functions
fixtureReal-world Testing:
Breaking Changes
** Dependency Version Changes:**
>=2.11.7
to>=1.8.0,<2.0.0
for stabilitypandas>=1.3.0,<2.0.0
,numpy>=1.21.0,<1.24.0
,rich>=12.6.0,<14.0.0
,typer>=0.9.0,<1.0.0
** Compatibility Improvements:**
>=3.10
to>=3.9
(more permissive, not breaking)Code Changes Required:
Types of changes
Checklist
Additional context
Major Features Added
Ray Distributed Processing:
--ray/--no-ray
CLI flags for enabling/disabling distributed analysis@ray.remote
decorator implementation for parallel file processingIntelligent Incremental Caching:
analysis_cache.json
with PyApplication serializationlast_modified
,content_hash
)Single File Analysis:
--file-name
CLI flag for targeted analysis of specific filesEnhanced Testing Infrastructure:
--skip-tests/--include-tests
flag to improve analysis performanceCritical Bug Fixes
Nested Function Detection (Issue #15):
_callables()
method recursion logic to capture both outer and inner functionsprefix
parameter throughout symbol table building for context preservationPydantic Compatibility:
json()
instead ofmodel_dump_json()
) for stabilityArchitecture Improvements
Exception Handling Hierarchy:
SymbolTableBuilderException
(base)SymbolTableBuilderFileNotFoundError
(file not found)SymbolTableBuilderParsingError
(parsing errors)SymbolTableBuilderRayError
(Ray processing errors)Enhanced Schema Design:
dict[Path, PyModule]
toDict[str, PyModule]
for better serializationRobust Dependency Management:
Performance Impact
Migration Guide
For users upgrading from v0.1.9:
--ray
flag for distributed processing on large codebases--clear-cache
flag to reset cache if experiencing issues--file-name
for targeted analysis during development workflowsIssue Resolution Status